1. Field of the Invention
The present invention relates generally to servo track writing technology, and more particularly, to a novel system and method for adjusting phase in a servo track writer.
2. Description of the Prior Art
Servo track writing is the process of writing servo-data track segments on tracks of the disk media before any user data may be written to the disk. These servo-data track segments allow the hard disk drive to determine where the read/write head of the disk drive is relative to the disk surface.
In conventional hard disk drive systems, a read channel is provided which functions as the interface between the hard disk and computer or hard disk controller to read information off the hard disk or write information to the hard disk, typically in encoded form. The writing of servo track information, i.e., servo-data segments, in the prior art, requires special servo-data write systems which are expensive and require a clean room environment. However, conventional systems implement a modified read channel to enable writing of servo-data and servo information onto a disk drive in order to avoid this expense, i.e., the servo information may be written by the disk drive outside of the clean room environment.
In such a modified system, the servo information is written by the read channel itself. However, the servo information needs to be very precisely located in order to enable the head of the disk drive to be positioned to read/write data from/to the disk.
Typically the servo data is written on to servo data segments of a disk track once, at very precise track locations. Furthermore, in such a system, the servo write process is typically iterative, and entails writing on the inside circumference of the disk drive, reading the data and measuring the time between a successive sync words. If there's been an error in writing that data it will make a correction on the next track location so that the error will not be propagated as servo track information is being successively written. The measurement technique involves measuring the distance between successive sync words, particularly by reading a sync word and, at that time, begin counting oscillator periods without adjusting phase. Then, in order to find the next sync word, the phase of the oscillator has to be moved a certain amount. Thus, it must be calculated how much to move the oscillator phase so that the measurement is the integer number of oscillator periods plus the actual amount of phase it would have to move with the measurement (the phase is a fractional amount of the oscillator period).
FIG. 1 is a diagram illustrating the timing of reading and writing of servo-data to segment tracks of a magnetic or hard disk. As shown in FIG. 1, the distance between a first already written servo sync word 305 and a yet unwritten servo-data 310 (e.g. a sync word expressed as bit time) is “M.x” bits, where M is a selectable whole integer of read channel clock cycles, and “x” is obtained by shifting the phase of a servo track writer oscillator signal generating the read channel clock by the phase offset between the system clock signal and the signal obtained from reading a sync field portion of a servo sync word 305 until the read channel clock and the sync field signal match. It will then suspend normal phase corrections, and go into write mode M.x bit times later and begin writing a servo pattern. The integer portion of the delay will be calculated by a sequencer that counts at half bit rate. It is understood that the value of “M” will vary from track to track as track segments become longer the further the track including the track segments is from the center of the disk. The fractional portion of the delay “x” is obtained by bumping the phase of the oscillator by the appropriate amount in phase steps of, 1/96 of a bit time, for example. After calculating “x,” the servo sync word 310 may be written. Further, the distance between a first already written servo sync word 305 and a second already written sync word (i.e., servo sync word 315) expressed as bit time is “N.z” bits, where “N” is a measured whole integer of system clocks and “z” is the phase offset between the frequency of signals obtained from the reading of the sync fields of each servo sync word 305, 315. This measurement is incorporated into the writing of the next servo sync word to correct for errors in the placement of the servo sync words that may occur.
The phase curve portion 320 of FIG. 1 illustrates how the phase of servo sync word 305 may differ from the phase of servo sync word 315.
The fundamental technology limiting the servo format efficiency of current servo track writer systems is the phase alignment system at the servo writer. Currently, the fundamental measurement techniques used at the servo track writer are the gates to further improvement in phase alignment tolerance. Secondly, servo format efficiency is critical as more of the real estate of the track is taken up with servo information, therefore, limiting the amount of available space for data. As a result, innovative servo track writer measurement techniques that make use of novel applications of modern signal processing methods are of key importance.
There currently exists a Servo Track writer system which uses the existing read channel information to provide for all the major measurement and write functions needed to write the servo data. Servo Track Writer applications require precise, fast, programmable phase adjustment for the oscillator without adding noise to the system. In accordance with a system known to the inventors as “Falcon”, the programmed phase adjustment is a signed value with a 1/96 of a bit time resolution, and the phase is moved by that amount to achieve the desired offset. The implementation of the “Falcon” technology, namely, was incrementally change the phase by 1/96 bit time steps one every half rate clock cycle. This approach however would take the maximum time; hence, limiting the start of possible write locations. This would take up to 96*2=192 bit times in “nonskootch” mode, and up to (96+4)*2=288 bit times in skootch mode where the system clock phase is restored to its phase value prior to synchronizing to a sync word so that data may be thereafter written at a pre-determined location relative to the sync word. This would be a limiting factor, an therefore not a desirable solution.
A second potential approach would be to directly adjust the phase by setting the phase on a mixer's controller. This would provide for a fast transaction; however, the large abrupt phase shift would introduce noise into the system. The effects of the noise on the digital clocks and logic is unknown and therefore an unacceptable risk.
It would be highly desirable to provide a system and method for enabling a programmed phase change whereby first the largest pre-calculated blocks that can be handled without introducing noise is defined, then the phase would be incrementally changed with smaller units until the final destination is reached.